#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
大数四则运算MCP服务
"""

from mcp.server.fastmcp import FastMCP

# 创建MCP服务实例
mcp = FastMCP("Big Number Calculator Server")

@mcp.tool()
def big_number_add(a: str, b: str) -> str:
    """大数加法运算
    
    Args:
        a: 第一个大数字符串
        b: 第二个大数字符串
    
    Returns:
        两数之和的字符串表示
    """
    try:
        num_a = int(a)
        num_b = int(b)
        return str(num_a + num_b)
    except ValueError:
        return "错误：输入不是有效的整数"

@mcp.tool()
def big_number_subtract(a: str, b: str) -> str:
    """大数减法运算
    
    Args:
        a: 被减数大数字符串
        b: 减数大数字符串
    
    Returns:
        两数之差的字符串表示
    """
    try:
        num_a = int(a)
        num_b = int(b)
        return str(num_a - num_b)
    except ValueError:
        return "错误：输入不是有效的整数"

@mcp.tool()
def big_number_multiply(a: str, b: str) -> str:
    """大数乘法运算
    
    Args:
        a: 第一个大数字符串
        b: 第二个大数字符串
    
    Returns:
        两数之积的字符串表示
    """
    try:
        num_a = int(a)
        num_b = int(b)
        return str(num_a * num_b)
    except ValueError:
        return "错误：输入不是有效的整数"

@mcp.tool()
def big_number_divide(a: str, b: str) -> str:
    """大数除法运算（整数除法）
    
    Args:
        a: 被除数大数字符串
        b: 除数大数字符串(不能为0)
    
    Returns:
        两数之商的字符串表示（整数除法）
    """
    try:
        num_a = int(a)
        num_b = int(b)
        if num_b == 0:
            return "错误:除数不能为0"
        return str(num_a // num_b)
    except ValueError:
        return "错误：输入不是有效的整数"

if __name__ == "__main__":
    mcp.run()